home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Graphics Plus
/
Graphics Plus.iso
/
general
/
viewers
/
polyview
/
polyvw31.lha
/
Polyview3.1
/
new
/
aiff.h
next >
Wrap
C/C++ Source or Header
|
1993-06-23
|
2KB
|
90 lines
/* ------------------------------------------------------------------------ */
/* THIS IS NOT NCSA-DEVELOPED SOFTWARE. */
/* This file is based on /usr/people/4Dgifts/examples/libaudio/aiff.h */
/* as shipped with Silicon Graphics IRIX 4.0.2. */
/* ------------------------------------------------------------------------ */
/* $Header: /usr3/people/gbourhis/pv3/new/RCS/aiff.h,v 1.1 92/09/18 10:55:26 marca Exp $ */
#ifdef RCSLOG
$Log: aiff.h,v $
* Revision 1.1 92/09/18 10:55:26 marca
* Initial revision
*
#endif
/*
* AIFF format header file
* bytes are stored in 68000 = big endian order
*/
/*
* some of the audio parameters in an AIFF file
*/
typedef struct
{
long samprate;
long nchannels;
long sampwidth;
} audio_params_t;
/*
* all chunks consist of a chunk header followed by some data
*
* WARNING: the spec says that every chunk must contain an even number
* of bytes. A chunk which contains an add number of bytes is padded with
* a trailing zero byte which is NOT counted in the chunk header's size
* field.
*/
typedef struct
{
char id[4];
long size;
} chunk_header_t;
#define CHUNK_ID 4
#define CHUNK_HEADER 8
typedef struct
{
chunk_header_t header;
int file_position; /* not in AIFF file */
char type[4]; /* should contain 'AIFF' for any audio IFF file */
} form_chunk_t;
#define FORM_CHUNK 12 /* including the header */
#define FORM_CHUNK_DATA 4
#define COMM_CHUNK 26 /* including the header */
#define COMM_CHUNK_DATA 18
typedef struct
{
chunk_header_t header;
int file_position; /* not in AIFF file */
short nchannels;
unsigned long nsampframes;
short sampwidth;
long samprate; /* not in AIFF file */
} comm_chunk_t;
#define SSND_CHUNK 16 /* including the header */
#define SSND_CHUNK_DATA 8
typedef struct
{
chunk_header_t header;
unsigned long offset;
unsigned long blocksize;
long file_position; /* not in AIFF file */
long sample_area_bytes; /* not in AIFF file */
} ssnd_chunk_t;
/* ----------------------------- NEW ROUTINES ----------------------------- */
extern int InitSound (void);
extern void PlayAFile (char *);
/* ------------------------- end of new routines -------------------------- */